import static java.lang.System.exit;

public class MyQueue {
    int []array;
    int front;//记录队头
    int rear;//记录队尾

    public MyQueue(int n) {
        //控制一次开辟多少内存
        array=new int[n];
    }
    public MyQueue() {
        //默认开辟四个内存
        array=new int[4];
    }

}
class SqQueue{

    int []array;
    int front;
    int rear;
    public SqQueue(int n) {
        //控制一次开辟多少内存
        array=new int[n];
    }
    public SqQueue() {
        //默认开辟四个内存
        array=new int[4];
    }
    public boolean isEmpty() {
        return rear==front;
    }
    public int QueueLength() {
        return (rear-front+array.length)%array.length;
    }
    public boolean full() {
        return (rear+1)%array.length==front;
    }
    public void offer(int x) {
        if(full()) {
            return;
        }
        array[rear]=x;
        rear=(rear+1)%array.length;
    }
    public int poll() {
        //如果为空还要删除就直接终止程序
        if(isEmpty()) {
            exit(0);
        }
        int n=array[front];
        //如果是数组的最后一个元素，那么进一就重新回到0下标
        front=(front+1)%array.length;
        return n;
    }

}